home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 January / macformat46.iso / Shareware Plus / Developers / Library / Grant's CGI Framework / Grant's CGI Framework / Read Me < prev    next >
Encoding:
Text File  |  1996-09-29  |  10.3 KB  |  190 lines

  1. Grant's CGI Framework
  2. (Common Grant Interface :-)
  3. Version 1.0 beta 16
  4.  
  5. by Grant Neufeld
  6.  
  7.  
  8. IMPORTANT: Read the document "Upgrading", even if you've never used the framework before. It points out some CRUCIAL changes to the framework that you must be aware of.
  9.  
  10. You should also always read the "Version History", since many new aspects of the framework are only documented there.
  11.  
  12.  
  13. Description:
  14. Grant's CGI Framework is a framework for writing 68K & PowerPC Macintosh CGI applications, and WebSTAR Plug-Ins, in C. The user of the framework only needs to modify one function (located in its own file) to produce a custom CGI - all the other details can be left to the framework. However, there are extensive options for customization available for those who need them - and full source code is provided.
  15.  
  16. Macintosh programming experience is not required (although it helps) - but at least a basic knowledge of the ANSI C language is required.
  17.  
  18. Features:
  19.  * 68K and PowerPC native support
  20.  * WebSTAR API Plug-Ins (WSAPI) (Metrowerks only)
  21.  * Multi-Threading (requires Apple's Thread Manager)
  22.  * Automatic html form parsing with easy function access to individual data fields
  23.  * Asynchronus CGI (ACGI) support
  24.  * ListSTAR trigger and action events
  25.  * AppleScriptable for testing without a server or network
  26.  * Optional compile as faceless background-only application
  27.  * Numerous configuration options for optimizing to your specific needs
  28.  * Optional self-quitting after specified idle time
  29.  * Significant performance increase over scripts such as those in AppleScript and Perl
  30.  * Full source code included
  31.  * Metrowerks and Symantec project files
  32.  * If you use it to write free applications, it's free to use. (Others see "Legal&Money" folder)
  33.  
  34. Requirements:
  35.  - Applications compiled with the framework will require Macintosh System 7 or later
  36.  - A Macintosh C compiler (Metrowerks and Symantec are supported)
  37.  - WebSTAR API SDK from StarNine Technologies (if you want to compile WSAPI plug-ins)
  38.    <http://www.starnine.com/webstar/webstarsdk.html>
  39.  - Version 2.1 (or later) of Apple’s Universal Headers (included with current commercial compilers). <ftp://ftpdev.info.apple.com/Developer_Services/Development_Kits/Interfaces_%26_Libraries/Interfaces/>
  40.  
  41.  
  42. Getting Started
  43.  
  44. The 'Documentation' folder contains some (currently incomplete) instructions on how to use the framework, the version history (some items are only documented in the version history, so read it!) and the 'License and Limited Warranty'. If you read through the entire documentation (shouldn't take very long because there's not all that much, yet), look at the source code, and still don't understand something, ask about it on the mailing list or by email directly to Grant. (addresses later in this doc)
  45.  
  46. Notes:
  47.  
  48. Project files for earlier versions of Codewarrior and Symantec environments may be made available. Please send email to grant@kagi.com requesting the particular version you want if you can't figure out your own project file.
  49.  
  50. I've only added basic support for ListSTAR trigger and action events in the current version.
  51.  
  52. Send Partial support doesn't seem to be very stable yet - use with caution.
  53.  
  54. For those who don't want both CGI and ListSTAR events in their application, it is easy to remove the ListSTAR or CGI support from the project. See the section on "Building a ListSTAR tool", at the end of the documentation file, for instructions on using or not using ListSTAR and CGI events.
  55.  
  56. For specifics on what you have to pay for using this software and code (if you're not using it to create publicly distributed freeware), please refer to the "Royalties" file in the "Documentation" folder.
  57.  
  58. This is beta software but it seems to generally work without problems! Don't bet your life on it though... 
  59.  
  60.  
  61. Further Information About This Framework
  62.  
  63. World Wide Web home page:
  64.      http://arpp.carleton.ca/cgi/framework/
  65.  
  66. Grant's CGI Discussion, Announcements, and the Source Updates mail lists:
  67. I've set up a mailing list for discussing this framework. It is intended to be a forum for information, ideas, questions and announcements about about writing CGIs (and the CGIs that have been written) using Grant's CGI Framework. 
  68. Send a message with the command "subscribe" (without quotes) as the subject to: 
  69.   grantcgi@arpp.carleton.ca
  70.  
  71. There is a list for those who only want the announcements - no discussion. It is mutually-exclusive with the grantcgi list, meaning that you can only subscribe to one of them since all the postings to grantcgi-announce are also made to grantcgi.
  72. Send a message with the command "subscribe" (without quotes) as the subject to: 
  73.   grantcgi-announce@arpp.carleton.ca
  74.  
  75. You can also subscribe to a mailing list which will send you periodic updates to the framework as they are released (both interm and regular releases). All updates are sent as Stuffit attachments (HQX MIME format). The archives are not sent to either of the two other lists.
  76. Send a message with the command "subscribe" (without quotes) as the subject to: 
  77.   grantcgi-source@arpp.carleton.ca
  78.  
  79. If you want more details on any of the lists, just send the command "help" instead of "subscribe".
  80.  
  81. Download:
  82.   http://arpp.carleton.ca/cgi/grantscgi.sit.hqx
  83.  
  84. Info-Mac ftp archives in "/info-mac/dev/lib/"
  85.  
  86. Apprentice CD "The Definitive Collection of Source Code and Utilities for Mac Programmers" <http://www.celestin.com/apprentice/>
  87. Apprentice 3: "Apprentice:Source Code:C:Frameworks:Grant's CGI Framework:" (1.0b1)
  88. Apprentice 4: "Apprentice:Source Code:C:Frameworks:Grant's CGI Framework 1.0b12:"
  89.  
  90. 'CDWeb' Vol. 11 CD included with the Japanese "Internet User" Magazine, 1995 No. 12. in "CDWeb Vol. 11:Starter Kit:WWW:Server:CGI:grants-cgi-framework-10b10:"
  91.  
  92. Symantec C++: "Symantec C++ v8 Release 5:Third Party Goodies:Source/Libraries:grantscgi:" (1.0b13)
  93.  
  94. Metrowerks CodeWarrior: "CW9 Gold Reference:Cool Demos, SDKs, & Tools:SDKs & Libraries:Grant's CGI CW9.sit" (1.0b14)
  95.  
  96. Interm releases may be available at:
  97.   http://arpp.carleton.ca/cgi/framework/interm.html
  98.  
  99.  
  100.  
  101. Possible Future Enhancements - To Do List
  102.  
  103. My list seems to grow faster than I get things on it done... With this in mind, I'll encourage you once again to contribute your feature requests. Please take special note of the last section of this list and let me know if you can contribute to any of the items there. Help and suggestions are always welcome with all aspects of the framework. The full (current) list is at:
  104.   http://arpp.carleton.ca/cgi/framework/todo.html
  105.  
  106. These are the remaining tasks on my list before version 1.0 is finalized:
  107.  * Get Send Partial working well
  108.  * Finish WebSTAR CFM Plug-in support
  109.  * Documentation
  110.  * Locating and fixing bugs
  111.  * Optimizing
  112.  
  113. Other areas I intend to work on:
  114.  * MOS web server plug-in API
  115.  * Write some useful test scripts
  116.  * MPW support (anybody do make files?)
  117.  * MacAPP, PowerPlant and THINK Class Library C++ CGI class integration
  118.  * Pascal version
  119.  * Support unix cgi variables for easier porting from unix
  120.  * AppleGuide, QuickView, THINK Reference, etc. online reference(s)
  121.  * Profile and optimize the code
  122.  * HTTP file upload
  123.  
  124.  
  125. Acknowledgements
  126.  
  127. The following are some of the people (alphabetically listed) who've contributed to and affected this framework (But don't blame them for the outcome, please. It's all my fault.) I've probably left some people out who should be listed - my apologies to them.
  128.  
  129. Scott T Boyd and a bunch of others who were at MacHack'95 affected my thinking about this code.
  130.  
  131. Gregory S. Combs identified the now corrected PowerPC compiler errors and supplied the initial PPC format project file for CodeWarrior and some code snippets. He's also made various other useful comments & contributions.
  132.  
  133. Rick Hartmann of Symantec Macintosh Dev Tools Support helped me figure out my problems getting the framework to compile with Symantec's tools.
  134.  
  135. Devon Hubbard for creating QC™ and for helping me at MacHack'96.
  136.  
  137. Steve Johnson was another person who identified the now corrected PowerPC compiler errors.
  138.  
  139. Frank Leahy has given me a lot of good suggestions and has also identified some bugs.
  140.  
  141. Peter N Lewis and Quinn developed the Internet Config system.
  142.  
  143. John Norstad's MailTools Gateway was another framework I looked at, but decided the code was too obscure for my very particular code style tastes. (Not that my code is necessarily any less obscure - just differently so ;-)
  144.  
  145. John O'Fallon wrote the "Responder" source which inspired this framework. Although I did the whole thing over from scratch to suit my own purposes. See his site: http://www.maxum.com/maxum/
  146.  
  147. Chuck Shotton, author of MacHTTP™ and WebSTAR™, answered some of my questions along the way, and kindly granted permission to include his cgi_params page with the framework.
  148.  
  149. Stefan Strand of "Teknik i Media AB" identified my off-by-one error in the 'CGIDecodeSpecialChars' function (now fixed).
  150.  
  151. Scott Taylor pointed out the missing '/' in my TITLE tags in the sample html, as well as a bug in 'startupTrapAvailable'.
  152.  
  153. Wayne K. Walrath identified (and helped solve) my previously bad design of AppleEvent threading.
  154.  
  155. The WebSTAR™ documentation provided the details of the WWWΩsdoc AppleEvent.
  156.  
  157. And, with much pride, I can thank the registered users who are financially supporting my work. It is much appreciated!
  158.  
  159.  
  160. About the Author
  161.  
  162. Grant Neufeld is the author of a number of Macintosh CGIs, as well as the "Mac WWW FAQ".
  163.  
  164. See my CGIs pages for information about my other CGI projects:
  165.   http://arpp.carleton.ca/cgi/
  166.  
  167. The Mac WWW FAQ:
  168.   http://arpp.carleton.ca/mac/
  169.  
  170. See my vanity page for more insight into who I am and what I do:
  171.   http://arpp.carleton.ca/grant/
  172.  
  173. Contacting me (use one of): 
  174.   gneufeld@ccs.carleton.ca
  175.   grant@kagi.com
  176.   grant@acm.org
  177.  
  178. ____________________
  179. StarNine, ListSTAR, and WebSTAR are trademarks of StarNine Technologies, Inc.
  180. AppleScript, Macintosh, Mac, and MacTCP are trademarks or registered trademarks of Apple Computer, Inc.
  181. UNIX is a registered trademark of Novell, Inc.
  182. CodeWarrior is a trademark of Metrowerks Inc.
  183. Symantec is a trademark of Symantec Corporation.
  184. WorkSMART is a trademark of InfoDesign Corporation.
  185. Grant's CGI Framework is, for those who even bother to read the small print, a GrantMark and a TradeMark of Grant Neufeld.
  186. Copyright ©1995-1996 by Grant Neufeld
  187. k of InfoDesign Corporation.
  188. Grant's CGI Framework is, for those who even bother to read the small print, a GrantMark and a TradeMark of Grant Neufeld.
  189. Copyright ©1995-1996 by Grant Neufeld
  190.